<template>
  <div>
    <div id="column"></div>
  </div>
</template>
<script>
import * as echarts from "echarts";
export default {
  data() {
    return {};
  },
  mounted() {
    this.getcolumn();
  },
  methods: {
    getcolumn() {
      var chartDom = document.getElementById("column");
      var myChart = echarts.init(chartDom);
      var option;

      option = {
        // 背景图片设置
        graphic: [
          {
            type: "image",
            left: "15%",
            bottom: "31%",
            z: 2,
            bounding: "raw",
            rotation: 0, //旋转
            // origin: [50, 50], //中心点
            scale: [0.9, 1], //缩放
            style: {
              // 背景图
              image: require("../../../../assets/img/ybg.png"),
            },
          },
        ],
        // 图表的位置
        grid: {
          top: "10%",
          bottom: "20%",
          left: "15%",
          right: "15%",
        },
        xAxis: {
          type: "category",
          data: ["优秀", "良好", "合格", "不合格"],
          axisTick: {
            //刻度相关设置
            show: false, //让刻度隐藏
          },
          axisLine: {
            show: false,
            /* lineStyle: {
              type: "solid",
              width: 108,
              cap: "butt",
              color: "#1A62B0",
              opacity: 0.08,
              shadowColor: "#1A62B0",
              shadowBlur: 5,
              shadowOffsetX: 4,
              shadowOffsetY: 8,
            }, */
          },
          axisLabel: {
            margin: 80,
            fontSize: 16,
            fontFamily: "Source Han Sans CN",
            fontWeight: 500,
            color: "#FFFFFF",
            opacity: 0.5,
            interval: 0, //代表显示所有x轴标签显示
          },
          offset: -53,
        },
        yAxis: [
          {
            type: "value",
            min: 0,
            max: 100,
            splitLine: {
              show: false,
            },
            axisLine: {
              show: true,
            },
            // offset:20,
          },
        ],
        series: [
          /* 圆柱体底部截面 */
          {
            name: "底部截面",
            type: "pictorialBar", //pictorialBar 象形柱图
            symbolSize: [40, 12], //调整截面形状
            symbolOffset: [0, -20], //截面位置偏移
            itemStyle: {
              normal: {
                borderColor: "#1D70C4",
                borderWidth: 0.5,
                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0,
                    color: "transparent",
                  },
                  {
                    offset: 1,
                    color: "#1D70C4",
                  },
                ]),
                margin: 80,
              },
            },
            z: 12,
            data: [62, 83, 45, 88],
          },
          /* 柱状体圆柱主体部分 */
          {
            name: "圆柱体部分",
            type: "bar",
            barWidth: 40,
            // symbolOffset: [10, -20],
            itemStyle: {
              normal: {
                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0,
                    color: "#1A62B0",
                    opacity: 0.32,
                  },
                  {
                    offset: 0.8,
                    color: "transparent",
                  },
                  {
                    offset: 1,
                    color: "transparent",
                  },
                ]),
              },
            },
            label: {
              // 控制柱条的文本信息
              show: true, //显示
              verticalAlign: "middle",
              position: "top", // 内侧顶部
              distance: 20, //距离柱条的距离【该图表中代表距离图表顶部的距离】
              textStyle: {
                // 数值样式
                fontSize: 14,
                fontFamily: "Source Han Sans CN",
                fontWeight: 400,
                color: "#CAF2F5",
              },
            },
            data: [62, 83, 45, 88],
          },
          /* 柱状体顶部截面 */
          {
            name: "顶部截面",
            type: "pictorialBar", //pictorialBar 象形柱图
            symbolSize: [40, 14], //调整截面形状
            symbolOffset: [0, -8],
            z: 12,
            symbolPosition: "end", //图形的位置 'start'：图形边缘与柱子开始的地方内切。'end'：图形边缘与柱子结束的地方内切。'center'：图形在柱子里居中。
            itemStyle: {
              normal: {
                borderColor: "#1D70C4",
                borderWidth: 8,
                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0.6,
                    color: "#1D70C4",
                  },
                  {
                    offset: 0,
                    color: "#1D70C4",
                    opacity: 0.6,
                  },
                ]),
              },
            },
            data: [62, 83, 45, 88],
          },
        ],
        // graphic: [
        //   //图表背景，可加图片，画多边形等，图形元素组件
        //   {
        //     // type: "rect", // 图形元素类型
        //     type: "polygon", // 图形元素类型
        //     id: "logo", // 更新或删除图形元素时指定更新哪个图形元素，如果不需要用可以忽略。
        //     // right: "center", // 根据父元素进行定位 （居中）
        //     bottom: "20%", // 根据父元素进行定位   （0%）, 如果bottom的值是 0，也可以删除该bottom属性值。
        //     z: 0, // 层叠
        //     // bounding: "all", // 决定此图形元素在定位时，对自身的包围盒计算方式
        //     style: {
        //       fill: "rgba(26,98,176,0.15)",
        //       shadowBlur: 20,
        //       shadowOffsetX: 5,
        //       shadowOffsetY: 5,
        //       shadowColor: "rgba(26,98,176,0.8)",
        //     },
        //     shape: {
        //       // points: [
        //       //   [this.fontSize(100), this.fontSize(200)],
        //       //   [this.fontSize(180), this.fontSize(100)],
        //       //   [this.fontSize(620), this.fontSize(100)],
        //       //   [this.fontSize(560), this.fontSize(200)],
        //       //   [this.fontSize(200), this.fontSize(200)],
        //       // ],
        //       points: [
        //         [100, 200],
        //         [180, 100],
        //         [620, 100],
        //         [560, 200],
        //         [200, 200],
        //       ],
        //     },
        //   },
        // ],
      };

      option && myChart.setOption(option);
      // 屏幕适配
      window.addEventListener("resize", () => {
        myChart.resize();
      });
    },
  },
};
</script>
<style scoped>
#column {
  width: 100%;
  height: 300px;
  background-color: #00222d;
}
</style>